package cn.gov.pbc.gd.credit.api.log;

import java.io.Serializable;
import java.util.List;

import com.liu.jbase.PageListVo;

import cn.gov.pbc.gd.credit.vo.log.LogLoginVo;

/**
 * @date 2017年5月13日
 * @time 下午5:16:38
 * @author liuxingmi
 * @desc 
 * @param 
 */
public interface ILogLoginApi {

    /**
     * 保存数据
     * 
     * @param entity
     */
    public void insert(LogLoginVo entity) throws Exception;

    /**
     * 根据ID更新数据
     * 
     * @param id
     * @param key
     * @param value
     */
    public void updateById(Serializable id, String key, String value) throws Exception;

    /**
     * 更加条件更新数据
     * 
     * @param query
     * @param key
     * @param value
     */
    public void update(LogLoginVo vo) throws Exception;

    /**
     * 更加条件更新数据
     * 
     * @param query
     * @param key
     * @param value
     */
    public void update(LogLoginVo vo, String key, String value) throws Exception;

    /**
     * 根据ID删除数据
     * 
     * @param id
     */
    public void deleteById(Serializable id) throws Exception;

    /**
     * 根据条件删除数据
     * 
     * @param query
     */
    public void deleteByQuery(LogLoginVo vo) throws Exception;

    /**
     * 根据ID查询数据
     * 
     * @param id
     * @return
     */
    public LogLoginVo getOneById(Serializable id) throws Exception;

    /**
     * 根据query查询数据
     * 
     * @param id
     * @return
     */
    public LogLoginVo getOne(LogLoginVo vo) throws Exception;

    /**
     * 获取所有数据
     * 
     * @return
     */
    public List<LogLoginVo> getAll(Class<LogLoginVo> entity) throws Exception;

    /**
     * 获取所有数据
     * 
     * @return
     */
    public List<LogLoginVo> getAll(LogLoginVo vo) throws Exception;

    /**
     * 根据条件获取总数
     * 
     * @param query
     * @return
     */
    public long getCount(LogLoginVo vo) throws Exception;

    /**
     * 根据条件查询分页
     * 
     * @param query
     * @param page
     * @return
     */
    public PageListVo<LogLoginVo> getPage(LogLoginVo vo, PageListVo<LogLoginVo> page) throws Exception;

}
